;
;	(C) 1995 HUDSON SOFT
;
	ifndef	_VPSGDRV_SH_
_VPSGDRV_SH_	equ	1

STK_SIZE	equ	16		; ユーザスタックサイズ
					; (1=4byte)

MAIN_VOL	equ	$ff		; トータルメイン音量 (PSG_R1)
					; (MAX:$FF)

FDOUT_VOL	equ	25		; フェードアウト終了音量
					; (31で音量0 , MAX:31)

FDIN_VOL	equ	25		; フェードイン開始音量
					; (31で音量0 , MAX:31)

pcm_sw		equ	0		; PCM ファンクションスイッチ

;

RELEASE_CMD	equ	$0200		; リリースコマンド

RELEASEON_CODE	equ	1
DECAY_CODE	equ	2		; ディケイコード
KEYON_CODE	equ	3		; キーオンコード
TIE_CODE	equ	4		; タイコード

TIE_COMMAND	equ	$da		; タイコマンド

VOLOFF_SW	equ	$80		; ボリュームオフスイッチ
PORT_SW		equ	$20		; ポルタメントスイッチデータ
TOCODA_SW	equ	$40		; ツゥコーダスイッチデータ
TREMOLO_SW	equ	$10		; トレモロスイッチデータ
VOLA_BIT	equ	$08		; 相互ボリューム制御ビット
AUTOPAN_SW	equ	$04		; オートパンスイッチ

PE_END		equ	-128		; PEデータ終了コード
FM_END		equ	-128		; FMデータ終了コード

PANMOV_MAX	equ	18		; パンニングパラメータ最大値

ST_MN		equ	$20		; ステレオ／モノラルスイッチ

;
;--- Macros
;
ldl_b	macro	label,reg1,reg2
	mov	#label,ra3
	add	reg1,ra3
	ld.b	(ra3),reg2
	endm

ldl_h	macro	label,reg1,reg2
	mov	#label,ra3
	add	reg1,ra3
	ld.h	(ra3),reg2
	endm

ldl_w	macro	label,reg1,reg2
	mov	#label,ra3
	add	reg1,ra3
	ld.w	(ra3),reg2
	endm

stl_b	macro	reg1,label,reg2
	mov	#label,ra3
	add	reg2,ra3
	st.b	reg1,(ra3)
	endm

stl_h	macro	reg1,label,reg2
	mov	#label,ra3
	add	reg2,ra3
	st.h	reg1,(ra3)
	endm

stl_w	macro	reg1,label,reg2
	mov	#label,ra3
	add	reg2,ra3
	st.w	reg1,(ra3)
	endm

cbw	macro	reg
	local	cbw10
	and	#$80,reg,ra3
	beq	cbw10
	or	#$ff80,reg
cbw10:
	endm

	endif	; !_VPSGDRV_SH_
